function saveascii(filename,varargin)
%SAVEASCII  Saves the 2-D array x into an ascii file, just like the
%built-in Matlab save command.  The builtin save doesn't work with the
%'-ascii' in compiled code.  This provides the same function. 
%
%Unlike the matlab save function, matrices to dump should be passed as
%data, not as strings:
%Example:
% a=[1 2 ; 3 4];
% save('file.txt','a','-ascii');     % Matlab built-in 
% saveascii('file.txt',a);           % this is equivalent
%
% b=[5 6 7 8];
% saveascii('file.txt','a','b','-ascii');
% saveascii('file.txt',a,b);         % same as above
%
%
% NOTE: This SOFTWARE may be used by any individual or corporation for any purpose
% with the exception of re-selling or re-distributing the SOFTWARE.
% By using this software, you are agreeing to the terms detailed in this software's
% Matlab source file.

% BEGIN TERMS OF USE LICENSE
%
% This SOFTWARE is maintained by the CREWES Project at the Department
% of Geology and Geophysics of the University of Calgary, Calgary,
% Alberta, Canada.  The copyright and ownership is jointly held by
% its 'AUTHOR' (identified above) and the CREWES Project.  The CREWES
% project may be contacted via email at:  crewesinfo@crewes.org
%
% The term 'SOFTWARE' refers to the Matlab source code, translations to
% any other computer language, or object code
%
% Terms of use of this SOFTWARE
%
% 1) This SOFTWARE may be used by any individual or corporation for any purpose
%    with the exception of re-selling or re-distributing the SOFTWARE.
%
% 2) The AUTHOR and CREWES must be acknowledged in any resulting publications or
%    presentations
%
% 3) This SOFTWARE is provided "as is" with no warranty of any kind
%    either expressed or implied. CREWES makes no warranties or representation
%    as to its accuracy, completeness, or fitness for any purpose. CREWES
%    is under no obligation to provide support of any kind for this SOFTWARE.
%
% 4) CREWES periodically adds, changes, improves or updates this SOFTWARE without
%    notice. New versions will be made available at www.crewes.org .
%
% 5) Use this SOFTWARE at your own risk.
%
% END TERMS OF USE LICENSE

% Author: Henry Bland  Nov 2002

    fp = fopen(filename,'w');
    if (fp <= 0) 
        error(['Unable to write to ' filename ]);
    end
    for arg=1:length(varargin)
        for r = 1:size(varargin{arg},1);
            x = varargin{arg};
            fprintf(fp,'%16.7e',x(r,:));
            fprintf(fp,'\n');
        end
    end 
    fclose(fp);  
    
            